#include <stdio.h>

void a_1()
{
 /*80484d0:	55                   	push   %ebp
 80484d1:	89 e5                	mov    %esp,%ebp
 80484d3:	57                   	push   %edi
 80484d4:	56                   	push   %esi
 80484d5:	53                   	push   %ebx
 80484d6:	83 ec 4c             	sub    $0x4c,%esp
 80484d9:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
 80484e0:	c7 45 d0 02 00 00 00 	movl   $0x2,-0x30(%ebp)*/
	int j = 1;
	int i = 2;

 /*80484e7:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
 80484ee:	8b 45 e4             	mov    -0x1c(%ebp),%eax
 80484f1:	89 45 e0             	mov    %eax,-0x20(%ebp)
 80484f4:	8b 45 e0             	mov    -0x20(%ebp),%eax
 80484f7:	89 45 dc             	mov    %eax,-0x24(%ebp)
 80484fa:	8b 45 dc             	mov    -0x24(%ebp),%eax
 80484fd:	89 45 d8             	mov    %eax,-0x28(%ebp)*/
	int a[4];
	a[0] = a[1] = a[2] = a[3] = 0;

 /*8048500:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048503:	89 44 24 04          	mov    %eax,0x4(%esp)
 8048507:	c7 04 24 74 88 04 08 	movl   $0x8048874,(%esp)
 804850e:	e8 7d fe ff ff       	call   8048390 <printf@plt>*/
	printf("%d\n", j);

 /*8048513:	8d 45 d4             	lea    -0x2c(%ebp),%eax	// eax = &j
 8048516:	89 44 24 04          	mov    %eax,0x4(%esp)	// esp+4 = &j
 804851a:	c7 04 24 74 88 04 08 	movl   $0x8048874,(%esp)
 8048521:	e8 6a fe ff ff       	call   8048390 <printf@plt>*/
	printf("%x\n", &j);

 /*8048526:	8b 45 d4             	mov    -0x2c(%ebp),%eax	// eax = j = 2
 8048529:	8d 78 14             	lea    0x14(%eax),%edi	// edi = j+0x14
 804852c:	8b 45 d4             	mov    -0x2c(%ebp),%eax	// eax = j
 804852f:	8d 70 10             	lea    0x10(%eax),%esi	// esi = j+0x10
 8048532:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048535:	8d 58 0c             	lea    0xc(%eax),%ebx	// ebx = j+0xc
 8048538:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 804853b:	8d 48 08             	lea    0x8(%eax),%ecx	// ecx = j+0x8
 804853e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048541:	8d 50 04             	lea    0x4(%eax),%edx	// edx = j+4
 8048544:	8b 45 d4             	mov    -0x2c(%ebp),%eax	// eax = j
 8048547:	89 7c 24 18          	mov    %edi,0x18(%esp)
 804854b:	89 74 24 14          	mov    %esi,0x14(%esp)
 804854f:	89 5c 24 10          	mov    %ebx,0x10(%esp)
 8048553:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
 8048557:	89 54 24 08          	mov    %edx,0x8(%esp)
 804855b:	89 44 24 04          	mov    %eax,0x4(%esp)
 804855f:	c7 04 24 7c 88 04 08 	movl   $0x804887c,(%esp)
 8048566:	e8 25 fe ff ff       	call   8048390 <printf@plt>*/
	printf("%d %d %d %d %d %d\n", j, j+4, j+8, j+12, j+16, j+20);

 /*804856b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 804856e:	89 45 d8             	mov    %eax,-0x28(%ebp)*/
	a[0] = j;
 /*8048571:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048574:	83 c0 04             	add    $0x4,%eax
 8048577:	89 45 dc             	mov    %eax,-0x24(%ebp)*/
	a[1] = j+4;
 /*804857a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 804857d:	83 c0 08             	add    $0x8,%eax
 8048580:	89 45 e0             	mov    %eax,-0x20(%ebp)*/
	a[2] = j+8;
 /*8048583:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048586:	83 c0 0c             	add    $0xc,%eax
 8048589:	89 45 e4             	mov    %eax,-0x1c(%ebp)*/
	a[3] = j+0xc;
 /*804858c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
 804858f:	89 44 24 10          	mov    %eax,0x10(%esp)
 8048593:	8b 45 e0             	mov    -0x20(%ebp),%eax
 8048596:	89 44 24 0c          	mov    %eax,0xc(%esp)
 804859a:	8b 45 dc             	mov    -0x24(%ebp),%eax
 804859d:	89 44 24 08          	mov    %eax,0x8(%esp)
 80485a1:	8b 45 d8             	mov    -0x28(%ebp),%eax
 80485a4:	89 44 24 04          	mov    %eax,0x4(%esp)
 80485a8:	c7 04 24 9b 88 04 08 	movl   $0x804889b,(%esp)
 80485af:	e8 dc fd ff ff       	call   8048390 <printf@plt>*/
	printf("%d %d %d %d\n", a[0], a[1], a[2], a[3]);

 /*80485b4:	8d 45 d0             	lea    -0x30(%ebp),%eax
 80485b7:	89 45 d4             	mov    %eax,-0x2c(%ebp)*/
	j = &i;

 /*80485ba:	8d 45 d0             	lea    -0x30(%ebp),%eax
 80485bd:	89 44 24 04          	mov    %eax,0x4(%esp)
 80485c1:	c7 04 24 a8 88 04 08 	movl   $0x80488a8,(%esp)
 80485c8:	e8 c3 fd ff ff       	call   8048390 <printf@plt>*/
	printf("%x\n", i);

 /*80485cd:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 80485d0:	89 44 24 04          	mov    %eax,0x4(%esp)
 80485d4:	c7 04 24 74 88 04 08 	movl   $0x8048874,(%esp)
 80485db:	e8 b0 fd ff ff       	call   8048390 <printf@plt>*/
	printf("%x\n", j);

 /*80485e0:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 80485e3:	8b 00                	mov    (%eax),%eax
 80485e5:	89 44 24 04          	mov    %eax,0x4(%esp)
 80485e9:	c7 04 24 74 88 04 08 	movl   $0x8048874,(%esp)
 80485f0:	e8 9b fd ff ff       	call   8048390 <printf@plt>*/
	printf("%d\n", *(int*)j);

 /*80485f5:	83 c4 4c             	add    $0x4c,%esp
 80485f8:	5b                   	pop    %ebx
 80485f9:	5e                   	pop    %esi
 80485fa:	5f                   	pop    %edi
 80485fb:	5d                   	pop    %ebp
 80485fc:	c3                   	ret  */
}  

void a_0()
{
 /*80485fd:	55                   	push   %ebp
 80485fe:	89 e5                	mov    %esp,%ebp
 8048600:	57                   	push   %edi
 8048601:	56                   	push   %esi
 8048602:	53                   	push   %ebx
 8048603:	83 ec 4c             	sub    $0x4c,%esp
 8048606:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)*/
	int j = 0;

 /*804860d:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
 8048614:	8b 45 e4             	mov    -0x1c(%ebp),%eax
 8048617:	89 45 e0             	mov    %eax,-0x20(%ebp)
 804861a:	8b 45 e0             	mov    -0x20(%ebp),%eax
 804861d:	89 45 dc             	mov    %eax,-0x24(%ebp)
 8048620:	8b 45 dc             	mov    -0x24(%ebp),%eax
 8048623:	89 45 d8             	mov    %eax,-0x28(%ebp)*/
	int a[4];
	a[0] = a[1] = a[2] = a[3] = 0;

 /*8048626:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048629:	89 44 24 04          	mov    %eax,0x4(%esp)
 804862d:	c7 04 24 74 88 04 08 	movl   $0x8048874,(%esp)
 8048634:	e8 57 fd ff ff       	call   8048390 <printf@plt>*/
	printf("%d\n", j);

 /*8048639:	8d 45 d4             	lea    -0x2c(%ebp),%eax
 804863c:	89 44 24 04          	mov    %eax,0x4(%esp)
 8048640:	c7 04 24 74 88 04 08 	movl   $0x8048874,(%esp)
 8048647:	e8 44 fd ff ff       	call   8048390 <printf@plt>*/
	printf("%x\n", &j);

 /*804864c:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 804864f:	8d 78 14             	lea    0x14(%eax),%edi	// edi = j+0x14
 8048652:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048655:	8d 70 10             	lea    0x10(%eax),%esi	// esi = j+0x10
 8048658:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 804865b:	8d 58 0c             	lea    0xc(%eax),%ebx	// ebx = j+0xc
 804865e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048661:	8d 48 08             	lea    0x8(%eax),%ecx	// ecx = j+0x8
 8048664:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048667:	8d 50 04             	lea    0x4(%eax),%edx	// edx = j+0x4
 804866a:	8b 45 d4             	mov    -0x2c(%ebp),%eax	// eax = j;
 804866d:	89 7c 24 18          	mov    %edi,0x18(%esp)
 8048671:	89 74 24 14          	mov    %esi,0x14(%esp)
 8048675:	89 5c 24 10          	mov    %ebx,0x10(%esp)
 8048679:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
 804867d:	89 54 24 08          	mov    %edx,0x8(%esp)
 8048681:	89 44 24 04          	mov    %eax,0x4(%esp)
 8048685:	c7 04 24 7c 88 04 08 	movl   $0x804887c,(%esp)
 804868c:	e8 ff fc ff ff       	call   8048390 <printf@plt>*/
	printf("%d %d %d %d %d %d\n", j , j+4, j+8, j+0xc, j+0x10, j+0x14);

 /*8048691:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048694:	89 45 d8             	mov    %eax,-0x28(%ebp)*/
	a[0] = j;
 /*8048697:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 804869a:	83 c0 04             	add    $0x4,%eax
 804869d:	89 45 dc             	mov    %eax,-0x24(%ebp)*/
	a[1] = j+4;

 /*80486a0:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 80486a3:	83 c0 08             	add    $0x8,%eax
 80486a6:	89 45 e0             	mov    %eax,-0x20(%ebp)*/
	a[2] = j+8;

 /*80486a9:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 80486ac:	83 c0 0c             	add    $0xc,%eax
 80486af:	89 45 e4             	mov    %eax,-0x1c(%ebp)*/
	a[3] = j+0xc;

 /*80486b2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
 80486b5:	89 44 24 10          	mov    %eax,0x10(%esp)
 80486b9:	8b 45 e0             	mov    -0x20(%ebp),%eax
 80486bc:	89 44 24 0c          	mov    %eax,0xc(%esp)
 80486c0:	8b 45 dc             	mov    -0x24(%ebp),%eax
 80486c3:	89 44 24 08          	mov    %eax,0x8(%esp)
 80486c7:	8b 45 d8             	mov    -0x28(%ebp),%eax
 80486ca:	89 44 24 04          	mov    %eax,0x4(%esp)
 80486ce:	c7 04 24 9b 88 04 08 	movl   $0x804889b,(%esp)
 80486d5:	e8 b6 fc ff ff       	call   8048390 <printf@plt>*/
	printf("%d %d %d %d\n", a[0], a[1], a[2], a[3]);

 /*80486da:	83 c4 4c             	add    $0x4c,%esp
 80486dd:	5b                   	pop    %ebx
 80486de:	5e                   	pop    %esi
 80486df:	5f                   	pop    %edi
 80486e0:	5d                   	pop    %ebp
 80486e1:	c3                   	ret*/
}    

void a_3()
{
 /*80486e2:	55                   	push   %ebp
 80486e3:	89 e5                	mov    %esp,%ebp
 80486e5:	57                   	push   %edi
 80486e6:	56                   	push   %esi
 80486e7:	53                   	push   %ebx
 80486e8:	83 ec 4c             	sub    $0x4c,%esp
 80486eb:	c7 45 d4 03 00 00 00 	movl   $0x3,-0x2c(%ebp)*/
	int j = 0;

 /*80486f2:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
 80486f9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
 80486fc:	89 45 e0             	mov    %eax,-0x20(%ebp)
 80486ff:	8b 45 e0             	mov    -0x20(%ebp),%eax
 8048702:	89 45 dc             	mov    %eax,-0x24(%ebp)
 8048705:	8b 45 dc             	mov    -0x24(%ebp),%eax
 8048708:	89 45 d8             	mov    %eax,-0x28(%ebp)*/
	int a[4];
	a[0] = a[1] = a[2] = a[3] = 0;

 /*804870b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 804870e:	89 44 24 04          	mov    %eax,0x4(%esp)
 8048712:	c7 04 24 74 88 04 08 	movl   $0x8048874,(%esp)
 8048719:	e8 72 fc ff ff       	call   8048390 <printf@plt>*/
	printf("%d\n", j);

/* 804871e:	8d 45 d4             	lea    -0x2c(%ebp),%eax
 8048721:	89 44 24 04          	mov    %eax,0x4(%esp)
 8048725:	c7 04 24 74 88 04 08 	movl   $0x8048874,(%esp)
 804872c:	e8 5f fc ff ff       	call   8048390 <printf@plt>*/
	printf("%d\n", &j);

 /*8048731:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048734:	8d 78 14             	lea    0x14(%eax),%edi
 8048737:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 804873a:	8d 70 10             	lea    0x10(%eax),%esi
 804873d:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048740:	8d 58 0c             	lea    0xc(%eax),%ebx
 8048743:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048746:	8d 48 08             	lea    0x8(%eax),%ecx
 8048749:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 804874c:	8d 50 04             	lea    0x4(%eax),%edx
 804874f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048752:	89 7c 24 18          	mov    %edi,0x18(%esp)
 8048756:	89 74 24 14          	mov    %esi,0x14(%esp)
 804875a:	89 5c 24 10          	mov    %ebx,0x10(%esp)
 804875e:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
 8048762:	89 54 24 08          	mov    %edx,0x8(%esp)
 8048766:	89 44 24 04          	mov    %eax,0x4(%esp)
 804876a:	c7 04 24 7c 88 04 08 	movl   $0x804887c,(%esp)
 8048771:	e8 1a fc ff ff       	call   8048390 <printf@plt>*/
	printf("%d %d %d %d %d %d\n", j , j+4, j+8, j+0xc, j+0x10, j+0x14);

 /*8048776:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048779:	89 45 d8             	mov    %eax,-0x28(%ebp)
 804877c:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 804877f:	83 c0 04             	add    $0x4,%eax
 8048782:	89 45 dc             	mov    %eax,-0x24(%ebp)
 8048785:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048788:	83 c0 08             	add    $0x8,%eax
 804878b:	89 45 e0             	mov    %eax,-0x20(%ebp)
 804878e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
 8048791:	83 c0 0c             	add    $0xc,%eax
 8048794:	89 45 e4             	mov    %eax,-0x1c(%ebp)
 8048797:	8b 45 e4             	mov    -0x1c(%ebp),%eax
 804879a:	89 44 24 10          	mov    %eax,0x10(%esp)
 804879e:	8b 45 e0             	mov    -0x20(%ebp),%eax
 80487a1:	89 44 24 0c          	mov    %eax,0xc(%esp)
 80487a5:	8b 45 dc             	mov    -0x24(%ebp),%eax
 80487a8:	89 44 24 08          	mov    %eax,0x8(%esp)
 80487ac:	8b 45 d8             	mov    -0x28(%ebp),%eax
 80487af:	89 44 24 04          	mov    %eax,0x4(%esp)
 80487b3:	c7 04 24 9b 88 04 08 	movl   $0x804889b,(%esp)
 80487ba:	e8 d1 fb ff ff       	call   8048390 <printf@plt>*/
	printf("%d %d %d %d\n", a[0], a[1], a[2], a[3]);

 /*80487bf:	83 c4 4c             	add    $0x4c,%esp
 80487c2:	5b                   	pop    %ebx
 80487c3:	5e                   	pop    %esi
 80487c4:	5f                   	pop    %edi
 80487c5:	5d                   	pop    %ebp
 80487c6:	c3                   	ret    */
}

int main()
{
 /*qA80487c7:	55                   	push   %ebp
 80487c8:	89 e5                	mov    %esp,%ebp
 80487ca:	83 e4 f0             	and    $0xfffffff0,%esp
 80487cd:	e8 fe fc ff ff       	call   80484d0 <a_1>*/
	a_1();

 //80487d2:	e8 26 fe ff ff       	call   80485fd <a_0>
	a_0();

 //80487d7:	e8 06 ff ff ff       	call   80486e2 <a_3>
	a_3();

 /*80487dc:	c9                   	leave  
 80487dd:	c3                   	ret    
 80487de:	66 90                	xchg   %ax,%ax*/
}

